package cn.matezk.cloud.service;

import cn.hutool.json.JSONObject;
import cn.matezk.cloud.beans.AgreeTransfer;
import cn.matezk.cloud.beans.CreateTransfer;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

public interface ITencentService {
    JSONObject request(JSONObject params) throws TencentCloudSDKException;
    JSONObject appGetFamilyDeviceList(JSONObject params) throws TencentCloudSDKException;
    JSONObject appListUserShareDevices(JSONObject params) throws TencentCloudSDKException;
    JSONObject appDeleteDeviceInFamily(JSONObject params) throws TencentCloudSDKException;
    JSONObject appBindUserShareDevice(JSONObject params) throws TencentCloudSDKException;
    JSONObject appRemoveShareDeviceUser(JSONObject params);
    JSONObject appRemoveUserShareDevice(JSONObject params);
    JSONObject appListShareDeviceUsers(JSONObject params) throws TencentCloudSDKException;
    JSONObject appJoinFamily(JSONObject params) throws TencentCloudSDKException;
    JSONObject appExitFamily(JSONObject params) throws TencentCloudSDKException;
    JSONObject appDeleteFamilyMember(JSONObject params) throws TencentCloudSDKException;
    JSONObject appTransferFamily(JSONObject params) throws TencentCloudSDKException;
    JSONObject appUpdateDeviceInFamily(JSONObject params) throws TencentCloudSDKException;
    JSONObject appModifyFamilyDeviceRoom(JSONObject params) throws TencentCloudSDKException;
    String sceneTransfer(CreateTransfer sceneTransfer) throws TencentCloudSDKException;
    void agreeTransfer(AgreeTransfer agreeTransfer) throws TencentCloudSDKException, InterruptedException;
}
